/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ar.lucas.controlgasto.utils;

import ar.lucas.controlgasto.dao.ConceptoDTO;
import ar.lucas.controlgasto.dao.PersonaDAO;
import ar.lucas.controlgasto.resources.Consultas;
import com.toedter.calendar.JCalendar;
import java.sql.SQLException;
import java.util.Collection;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
import javax.swing.JTextField;

/**
 *
 * @author lucmussi
 */
public class ReloadCombo {

    public static void llenarComboPersonas(JComboBox combo){
        try {
            Collection<PersonaDAO> personas = Consultas.buscarAllPersonas();
            for(PersonaDAO persona: personas){
                combo.addItem(persona);
            }

        } catch (SQLException ex) {
            Logger.getLogger(ReloadCombo.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public static void llenarComboTipoGasto(JComboBox combo){
        try {
            combo.addItem("Seleccione...");
            Collection<ConceptoDTO> tipo_gastos = Consultas.buscarAllConceptos();
            for(ConceptoDTO tipo_gasto: tipo_gastos){
                combo.addItem(tipo_gasto);
            }
            
        } catch (SQLException ex) {
            Logger.getLogger(ReloadCombo.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void llenarTotales(JCalendar cal, Integer id_persona,
                                     JTextField mayorGasto,
                                     JTextField descripcion,
                                     JTextField totalMes,
                                     JTextField totalAnio){
        try {
            Double mayormes = Consultas.buscarMayorGastoMes(id_persona, cal.getMonthChooser().getMonth()+1);
            mayorGasto.setText("$"+mayormes.toString());
            if(mayormes != 0.0){
                descripcion.setText(Consultas.buscarDescripcionMayorGastoMes(id_persona, cal.getMonthChooser().getMonth()+1, mayormes).toString());
            }
            else{
                descripcion.setText("");
            }
            totalMes.setText("$"+Consultas.buscarTotalMes(id_persona, cal.getMonthChooser().getMonth()+1,cal.getYearChooser().getYear()).toString());
            totalAnio.setText("$"+Consultas.buscarTotalAnio(id_persona, cal.getYearChooser().getYear()).toString());

        } catch (SQLException ex) {
            Logger.getLogger(ReloadCombo.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public static Object seleccionaCombo(JComboBox combo, String nombre){
       int cuenta = combo.getItemCount();
       for(int i=1;i<cuenta;i++){
           if(combo.getItemAt(i) instanceof PersonaDAO){
               PersonaDAO persona = (PersonaDAO) combo.getItemAt(i);
               if(persona.getNombre().equals(nombre)){
                 return persona;
               }
           }
           else if(combo.getItemAt(i) instanceof ConceptoDTO){
               ConceptoDTO concepto = (ConceptoDTO) combo.getItemAt(i);
               if(concepto.getDescripcion().equals(nombre)){
                   return concepto;
               }
           }
           
       }
       return null;
    }
    
}